<?php
// +----------------------------------------------------------------------
// | MubinAdmin
// +----------------------------------------------------------------------
// | 版权所有 2015~2020 泉州市牧滨电子商务有限公司 [ http://www.mubin.com ]
// +----------------------------------------------------------------------
// | 官方网站: http://www.mubin.com
// +----------------------------------------------------------------------
// | 开源协议 ( https://mit-license.org )
// +----------------------------------------------------------------------
// | gitee 代码仓库：https://gitee.com/mubin/MubinAdmin
// +----------------------------------------------------------------------

namespace app\common\internal;

use think\facade\{Config, Log, Request, Session, App, Cache};

class UserInfo
{
    /**
     * 自动登录用户
     * @param array $data
     * @return void
     */
    public function autoLogin(?array $data = []): void
    {
        //缓存用户信息
        Session::set('user_auth', $data);
        Session::set('user_auth_sign', data_auth_sign((array)$data));
        Session::delete('loginskey');
        return;
    }

    /**
     * 检测用户是否登录
     * @return integer 0-未登录，大于0-当前登录用户ID
     * @author staitc7 <static7@qq.com>
     */
    public function getUserId(): ?int
    {
        $user = Session::get('user_auth', null);
        if (empty($user) === true) {
            return 0;
        }
        return Session::get('user_auth_sign', null) == data_auth_sign((array)$user) ? (int)$user['id'] : null;
    }
    
    /**
     * 检测用户是否在线
     * @return mixed
     * @author staitc7 <static7@qq.com>
     */
    public function online(): ?bool
    {
        return $this->getUserId() > 0 ? true : false;
    }
}